Supplemental Services Interface

ABSTRACT

Examples are described for integrating interface functionality with other experiences. For example, if a user is interested in a particular item of scheduled or on-demand content (e.g., a television series episode), the user may also be interested in a web page devoted to the television series and/or other extras such as cast interviews, news, related theme apps, and the like. These types of experiences may be integrated into an interface by presenting the experiences as supplemental services that may be presented and/or selected.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 17/519,323, filed Nov. 4, 2021, which is acontinuation of U.S. patent application Ser. No. 16/986,570, filed Aug.6, 2020 (now U.S. Pat. No. 11,197,055), which is a division of U.S.patent application Ser. No. 15/789,366, filed Oct. 20, 2017 (now U.S.Pat. No. 10,771,838), which is a continuation of U.S. patent applicationSer. No. 14/950,529, filed Nov. 24, 2015 (now U.S. Pat. No. 9,826,267),which is a continuation of U.S. patent application Ser. No. 13/799,434,filed Mar. 13, 2013 (now U.S. Pat. No. 9,223,473), each of which ishereby incorporated by reference in its entirety.

BACKGROUND

Interfaces such as program guides for finding scheduled and on-demandmultimedia content are ubiquitous. In many cases, program guides areprovided through devices that have additional functionality such as aweb browser and the ability to download and execute user-selected apps.However, it is typically inconvenient for a user to move between theprogram guide and other interfaces to access functions.

SUMMARY

It may be desirable to better integrate standard interface, e.g.,program guide, functionality with other experiences. For example, if auser is interested in a particular item of scheduled or on-demandcontent (e.g., a television series episode), the user may also beinterested in a web page devoted to that content (e.g., the televisionseries) and/or other extras such as cast interviews, news, related themeapps, and the like. These types of experiences may be integrated into aninterface such as a program guide by presenting the experiences assupplemental services and/or content listings (e.g., as one or moresupplemental channels) that may be presented and/or selected in a mannersimilar to or the same as any of the other service listings presented inthe main interface.

According to an aspect as described herein, methods, apparatuses, andsoftware may perform, for example, at least the following process. Itmay be determined whether a first one of a plurality of items ofscheduled content (e.g., linear television content) of a first one of aplurality of services is associated with another one or more servicesnot included in the plurality of services. Responsive to determiningthat the first one of the items of scheduled content is associated withsaid another one or more services, an interface may be generated for useand/or display to indicate at least some of the items of scheduledcontent, including the first item of scheduled content as well as atleast one item of content of the another one or more services.

In another aspect, a user selection of a first item of content of afirst service may be received, and a different second item of content ofa different second service may be determined based at least in part onthe first item of content. An interface may be generated for use and/ordisplay to indicate a plurality of items of content for a plurality ofservices including the first and second items of content and the firstand second services.

In yet another aspect, an interface may be generated for user and/ordisplay to indicate a plurality of items of content, including a firstitem of content, for a plurality of services including a first service.A user selection may be received, which may indicate a first one of theindicated items of content that is scheduled on a first one of theindicated services. Responsive to the user selection, a second servicenot shown or otherwise indicated by the interface may be determinedbased at least in part on the first item of content and/or the firstservice. An updated interface may be generated for use and/or display toindicate the plurality of items of content for the plurality ofservices, and to further indicate the second service.

These features are merely examples, and further features and details arediscussed below.

BRIEF DESCRIPTION OF THE DRAWINGS

Some features herein are illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements.

FIG. 1 illustrates an example access and information distributionnetwork.

FIG. 2 illustrates an example hardware and/or software platform on whichthe various elements described herein can be implemented in accordancewith one or more aspects as described herein.

FIGS. 3A and 3B are flow charts of an example method that may beperformed in accordance with one or more aspects as described herein.

FIG. 4 shows an example interface in accordance with one or more aspectsas described herein.

FIG. 5 shows an example interface in accordance with one or more aspectsas described herein.

FIG. 6 shows an example interface, in accordance with one or moreaspects as described herein.

FIG. 7 shows an example interface in accordance with one or more aspectsas described herein.

FIG. 8 shows an example interface in accordance with one or more aspectsas described herein.

FIG. 9 shows an example interface in accordance with one or more aspectsas described herein.

FIG. 10 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 11 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 12 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 13 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 14 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 15 shows an example interface in accordance with one or moreaspects as described herein.

FIG. 16 shows an example interface in accordance with one or moreaspects as described herein.

DETAILED DESCRIPTION

In the following description of various illustrative embodiments,reference is made to the accompanying drawings, which form a parthereof, and in which is shown, by way of illustration, variousembodiments in which aspects of the disclosure may be practiced. It isto be understood that other embodiments may be utilized, and structuraland functional modifications may be made, without departing from thescope of the present disclosure.

FIG. 1 illustrates an example communication network 100 on which many ofthe various features described herein may be implemented. Network 100may be any type of information distribution network, such as satellite,telephone, cellular, wireless, etc. One example may be an optical fibernetwork, a coaxial cable network, or a hybrid fiber/coax distributionnetwork. Such networks 100 use a series of interconnected communicationlinks 101 (e.g., coaxial cables, optical fibers, wireless, etc.) toconnect multiple premises 102 (e.g., businesses, homes, consumerdwellings, etc.) to a local office (e.g., headend) 103. The local office103 may transmit downstream information signals onto the links 101, andeach premises 102 may have a receiver used to receive and process thosesignals.

There may be one link 101 originating from the local office 103, and itmay be split a number of times to distribute the signal to variouspremises 102 in the vicinity (which may be many miles) of the localoffice 103. The links 101 may include components not illustrated, suchas splitters, filters, amplifiers, etc. to help convey the signalclearly. Portions of the links 101 may also be implemented withfiber-optic cable, while other portions may be implemented with coaxialcable, other lines, or wireless communication paths.

The local office 103 may include an interface, such as a terminationsystem (TS) 104. More specifically, the interface 104 may be a cablemodem termination system (CMTS), which may be a computing deviceconfigured to manage communications between devices on the network oflinks 101 and backend devices such as servers 105-107 (to be discussedfurther below). The interface 104 may be as specified in a standard,such as the Data Over Cable Service Interface Specification (DOCSIS)standard, published by Cable Television Laboratories, Inc. (a.k.a.CableLabs), or it may be a similar or modified device instead. Theinterface 104 may be configured to place data on one or more downstreamfrequencies to be received by modems at the various premises 102, and toreceive upstream communications from those modems on one or moreupstream frequencies.

The local office 103 may also include one or more network interfaces108, which can permit the local office 103 to communicate with variousother external networks 109. These networks 109 may include, forexample, networks of Internet devices, telephone networks, cellulartelephone networks, fiber optic networks, local wireless networks (e.g.,WiMAX), satellite networks, and any other desired network, and thenetwork interface 108 may include the corresponding circuitry needed tocommunicate on the external networks 109, and to other devices on thenetwork such as a cellular telephone network and its corresponding cellphones.

As noted above, the local office 103 may include a variety of servers105-107 that may be configured to perform various functions. Forexample, the local office 103 may include a push notification server105. The push notification server 105 may generate push notifications todeliver data and/or commands to the various premises 102 in the network(or more specifically, to the devices in the premises 102 that areconfigured to detect such notifications). The local office 103 may alsoinclude a content server 106. The content server 106 may be one or morecomputing devices that are configured to provide content to users attheir premises. This content may be, for example, video on demandmovies, television programs, songs, text listings, etc. The contentserver 106 may include software to validate user identities andentitlements, to locate and retrieve requested content, to encrypt thecontent, and to initiate delivery (e.g., streaming) of the content tothe requesting user(s) and/or device(s).

The local office 103 may also include one or more application servers107. An application server 107 may be a computing device configured tooffer any desired service, and may run various languages and operatingsystems (e.g., servlets and JSP pages running on Tomcat/MySQL, OSX, BSD,Ubuntu, Redhat, HTML5, JavaScript, AJAX and COMET). For example, anapplication server may be responsible for collecting television programlistings information and generating a data download for electroniccontent listings, such as in the form of program guide listings. Anotherapplication server may be responsible for monitoring user viewing habitsand collecting that information for use in selecting advertisements. Yetanother application server may be responsible for formatting andinserting advertisements in a video stream being transmitted to thepremises 102. Although shown separately, one of ordinary skill in theart will appreciate that the push server 105, content server 106, andapplication server 107 may be combined. Further, here the push server105, content server 106, and application server 107 are shown generally,and it will be understood that they may each contain memory storingcomputer executable instructions to cause a processor to perform stepsdescribed herein and/or memory for storing data.

An example premises 102 a, such as a home, may include an interface 120.The interface 120 can include any communication circuitry needed toallow a device to communicate on one or more links 101 with otherdevices in the network. For example, the interface 120 may include amodem 110, which may include transmitters and receivers used tocommunicate on the links 101 and with the local office 103. The modem110 may be, for example, a coaxial cable modem (for coaxial cable lines101), a fiber interface node (for fiber optic lines 101), twisted-pairtelephone modem, cellular telephone transceiver, satellite transceiver,local Wi-Fi router or access point, or any other desired modem device.Also, although only one modem is shown in FIG. 1 , a plurality of modemsoperating in parallel may be implemented within the interface 120.Further, the interface 120 may include a gateway interface device 111.The modem 110 may be connected to, or be a part of, the gatewayinterface device 111. The gateway interface device 111 may be acomputing device that communicates with the modem(s) 110 to allow one ormore other devices in the premises 102 a, to communicate with the localoffice 103 and other devices beyond the local office 103. The gateway111 may be a set-top box (STB), digital video recorder (DVR), computerserver, or any other desired computing device. The gateway 111 may alsoinclude (not shown) local network interfaces to provide communicationsignals to requesting entities/devices in the premises 102 a, such asdisplay devices 112 (e.g., televisions), additional STBs 113, personalcomputers 114, laptop computers 115, wireless devices 116 (e.g.,wireless routers, wireless laptops, notebooks, tablets and netbooks,cordless phones (e.g., Digital Enhanced Cordless Telephone—DECT phones),mobile phones, mobile televisions, personal digital assistants (PDA),etc.), landline phones 117 (e.g. Voice over Internet Protocol—VoIPphones), and any other desired devices. Examples of the local networkinterfaces include Multimedia Over Coax Alliance (MoCA) interfaces,Ethernet interfaces, universal serial bus (USB) interfaces, wirelessinterfaces (e.g., IEEE 802.11, IEEE 802.15), analog twisted pairinterfaces, Bluetooth interfaces, and others.

FIG. 2 illustrates general hardware elements that can be used toimplement any of the various computing devices discussed herein. Thecomputing device 200 may include one or more processors 201, which mayexecute instructions of a computer program to perform any of thefeatures described herein. The instructions may be stored in any type ofcomputer-readable medium or memory, to configure the operation of theprocessor 201. For example, instructions may be stored in a read-onlymemory (ROM) 202, random access memory (RAM) 203, removable media 204,such as a Universal Serial Bus (USB) drive, compact disk (CD) or digitalversatile disk (DVD), floppy disk drive, or any other desired storagemedium. Instructions may also be stored in an attached (or internal)hard drive 205. The computing device 200 may include one or more outputdevices, such as a display 206 (e.g., an external television), and mayinclude one or more output device controllers 207, such as a videoprocessor. There may also be one or more user input devices 208, such asa remote control, keyboard, mouse, touch screen, microphone, etc. Thecomputing device 200 may also include one or more network interfaces,such as a network input/output (I/O) circuit 209 (e.g., a network card)to communicate with an external network 210. The network input/outputcircuit 209 may be a wired interface, wireless interface, or acombination of the two. In some embodiments, the network input/outputcircuit 209 may include a modem (e.g., a cable modem), and the externalnetwork 210 may include the communication links 101 discussed above, theexternal network 109, an in-home network, a provider's wireless,coaxial, fiber, or hybrid fiber/coaxial distribution system (e.g., aDOCSIS network), or any other desired network. Additionally, the devicemay include a location-detecting device, such as a global positioningsystem (GPS) microprocessor 211, which can be configured to receive andprocess global positioning signals and determine, with possibleassistance from an external server and antenna, a geographic position ofthe device.

The FIG. 2 example is a hardware configuration. Modifications may bemade to add, remove, combine, divide, etc. components of the computingdevice 200 as desired. Additionally, the components illustrated may beimplemented using basic computing devices and components, and the samecomponents (e.g., processor 201, ROM storage 202, display 206, etc.) maybe used to implement any of the other computing devices and componentsdescribed herein. For example, the various components herein may beimplemented using computing devices having components such as aprocessor executing computer-executable instructions stored on acomputer-readable medium, as illustrated in FIG. 2 . Some or all of theentities described herein may be software based, and may co-exist in acommon physical platform (e.g., a requesting entity can be a separatesoftware process and program from a dependent entity, both of which maybe executed as software on a common computing device).

One or more aspects of the disclosure may be embodied in computer-usabledata and/or computer-executable instructions, such as in one or moreprogram modules, executed by one or more computers or other devices.Generally, program modules include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types when executed by a processor ina computer or other data processing device. The computer executableinstructions may be stored on one or more computer readable media suchas a hard disk, optical disk, removable storage media, solid statememory, RAM, etc. As will be appreciated by one of skill in the art, thefunctionality of the program modules may be combined or distributed asdesired in various embodiments. In addition, the functionality may beembodied in whole or in part in firmware or hardware equivalents such asintegrated circuits, field programmable gate arrays (FPGA), and thelike. Particular data structures may be used to more effectivelyimplement one or more aspects of the disclosure, and such datastructures are contemplated within the scope of computer executableinstructions and computer-usable data described herein.

FIGS. 3A and 3B are flow charts of an example method that may beperformed in accordance with one or more aspects as described herein.The method includes steps that may be used for, e.g., determining and/orpresenting various user interfaces by a computing device, including oneor more user interfaces such as a program guide user interface and/or asupplemental service selection user interface. The various steps in thisflow chart may be performed by one or more devices and/or humans, suchas any of the elements of FIGS. 1 and 2 . While certain steps may bedescribed below as being performed by a specific element, it will beunderstood that this is merely an example, and that each step may beperformed by alternative elements. Moreover, while the steps are shownin a particular order and divided into specific steps, it will beunderstood that the order may be modified, and that one or more of thesteps may be combined and that one or more of the steps may be furthersub-divided into further steps.

In general, FIG. 3A shows example steps that may be performed todetermine and present an interactive user interface such as aninteractive electronic program guide, and FIG. 3B shows examples stepsthat may be performed to determine and present a supplemental serviceselection user interface, and to add or otherwise modify whichsupplemental services are to be presented in the user interface.Supplemental services may provide any type of experience, such as butnot limited to on-demand multimedia (e.g., audio and/or video) content;a link to a web site; a downloadable and/or installable app (softwareapplication), or an app that has already been downloaded and installed;news; a photo slide show; and the like. The experience may be related toanother service and/or another item of content on the other service thatis listed in the interface. For example, a supplemental service may beassociated with one or more particular items of content (e.g., an itemof scheduled content and/or an on-demand item of content) and/or one ormore particular services that may be listed in the interface. Forexample, if a user is interested in a particular item of scheduled oron-demand content (e.g., a television series episode), the user may alsobe interested in a web page devoted to the television series and/orother extras such as cast interviews, news, related theme apps, and thelike. These types of experiences may be integrated into an interface bypresenting the experiences as supplemental services (e.g., channels)that may be listed and/or selected in a manner similar to or the same asany of the other services (e.g., channels) presented in the interface.

Examples of how an interface, such as a program guide, may be displayedare described in connection with, e.g., FIGS. 4-13 and 16 , and examplesof how a supplemental service selection user interface may be displayedare described in connection with, e.g., FIGS. 14 and 15 . It will beunderstood, however, that both the main interface and the supplementalservice selection user interface may have different appearances fromthose shown in the figures herein, depending upon the implementationsthereof.

In the following explanation, certain steps of FIGS. 3A and 3B may bedescribed as being performed by a particular device or system. However,these are merely examples and that any or all of the steps may beperformed by any other devices or systems. For instance, the contentand/or layout of the interface to be displayed may be determined at theservice provider side by any of the servers 105-107, and the usercomputing device (e.g., any of the devices at the home 102 a) may simplypresent the determined interface. As another example, the content and/orlayout of the interface to be displayed may be partially or fullylocally determined by the user computing device. In the latter example,although the particular portion of information to be displayed may bedetermined by the user computing device, the content information librarymay be provided by the service provider, such as by any of the servers105-107.

At step 301, the user computing device and/or any of the servers 105-107may determine services and timeframes to be displayed in the interface.Step 301 may be performed, for instance, in response to a user requestto view the interface, or automatically such as upon returning fromanother user interface. The interface may include information aboutwhich programs (e.g., audio and/or video content, and/or any othercontent) are scheduled to be provided on which services at which times.Many program guides that provide such schedule information are providedin a two-dimensional grid format, with a listing of services along oneaxis and a listing of times along the other axis, and where the items ofcontent are indicated at the appropriate intersections of the listedservices and the listed times. While the interface herein may bepresented in such a two-dimensional grid format, the interface may haveany other layout or other configuration as desired, such as in the formof a three-dimensional grid guide or even in a non-grid format.

A screenshot of an example of a grid format interface, such as a programguide, is shown in FIG. 4 . In this example, the service listing isarranged along the vertical axis of the guide and the timeframe isarranged along the horizontal axis of the guide. In other examples, thehorizontal and vertical axes may be reversed such that service listingis arranged along the horizontal axis and the timeframe is arrangedalong the vertical axis. In this example, the services listed areservice numbers (e.g., channel numbers) 101, 102, 104, 105, 106, 110,and 111, and the timeframe displayed is from 5:00 pm to 9:00 pm.However, the total guide information that is available may include otherservices and/or times in addition to those that are currently beingdisplayed. It is noted that the service numbering and timeframe in thisexample are arbitrary; any other times and/or services may be included.Moreover, services need not necessarily be designated in the interfaceby number; they may be designated using any other naming conventiondesired, such as by using any alphabetical, alphanumeric, graphical,and/or symbolic designation of the services.

The displayed interface shown by way of example in FIG. 4 may alsoinclude indications of which items of content scheduled to be presentedby the services. Examples of items of scheduled content may include, butare not limited to, television series, movies, live broadcasts (e.g.,sports or other live performances, or other live video feeds),documentaries, news, informational screens (e.g., weather, emergencyinformation, etc.), interactive content such as video games, etc. Eachitem of scheduled content may have a title or other identifier, each ofwhich may be indicated by the displayed interface. These contentidentifiers are shown in a generic way in FIG. 4 as “Content 101-1,”“Content 101-2”, etc. The identifiers may be text, graphics, video,and/or in any other format. Some or all of the items of content may bescheduled—that is, an item of scheduled content that may be scheduled tobe presented on a predetermined service (e.g., channel) at apredetermined start time and/or end at a predetermined end time. Thelocations of those items of scheduled content may be presented atlocations in the displayed interface that depend upon which servicesand/or times the items are scheduled for. For example, the item labeledin FIG. 4 as “Content 101-1” is scheduled to be presented on servicenumber 101 starting at 5:00 pm and ending at 6:00 pm, and the itemlabeled as “Content 110-2” is scheduled to be presented on servicenumber 110 starting at 6:00 pm and ending at 8:00 pm. One or more of theservices may include unscheduled content. For example, service number111 as indicated by the interface of FIG. 4 may be an on-demand servicethat presents content dynamically in response to a user selection of thecontent, rather than at a predetermined scheduled time.

The particular services and/or times listed in the presented interfaceor portion thereof (as determined at step 301) may depend upon any ofvarious factors. For instance, the interface as displayed may default toa timeframe window that includes the current time (where the startand/or end times of the displayed timeframe window may depend upon thecurrent time), and/or to a default subset of the services. Moreover, theinterface to be displayed may include a subset of the services and aparticular timeframe that depends upon a user selection. In the case ofa grid-style interface, a user-movable selection cursor may bedisplayed, that the user may move (e.g., up, down, left, and right) tohighlight one program at a time. For instance, referring to the exampleof FIG. 4 , a cursor 401 may be moveable by the user and may be used tohighlight and/or select a particular program, service, and/or time. Forexample, FIG. 5 shows the cursor 401 after it has moved down in theinterface. As appropriate, the subset of services and/or the timeframewindow may also change with such user input to allow other servicesand/or times to be included in the displayed interface. However,programs, services, and/or times may be selected in any manner asdesired, depending upon the implementation. Where the interface iscontrolled by the user via a remote control (e.g., the remote control118) and/or by physical or virtual buttons in general, the buttons mayinclude at least an up, down, left, and right buttons, as well as aselection (e.g., “enter”) button, for moving the selection cursorthrough the interface and for making a selection of the highlightedprogram. Where the interface is presented on a touch screen, the usermay be able to select virtual (e.g., displayed) buttons and/or simplytouch a particular displayed program on the interface to select theprogram.

As mentioned above, the services to be listed in the presented interfacemay include one or more supplemental services that may be associatedwith one or more other services and/or items of content (scheduled orunscheduled) of those one or more other services. A user mayinstall/subscribe to a particular supplemental service that isassociated with another service and/or item of content of anotherservice, and the supplemental service may or may not be included in thedisplayed interface depending upon one or more factors, such as whethersupplemental services are to be listed by the displayed interface at alland/or whether the associated service and/or item of content is includedin the displayed portion of the interface.

Referring again to the process of FIG. 3A, at step 302, it may bedetermined (e.g., by the user device and/or by any device in thenetwork) whether the aforementioned supplemental services should beincluded at all in the displayed interface. This decision may be basedupon, for example, a predetermined user preference or a user input tothe interface. For example, referring to FIG. 10 , the interface mayinclude a checkbox 1001 or other user input means for allowing the userto indicate whether supplemental services are to be included.

If the decision at step 302 is not to include supplemental services inthe displayed interface, then the process may move to step 307, at whichpoint the determined interface may be generated for display on a displaydevice such as, e.g., in the form of graphical data (e.g., vector data),as bitmapped image data, as text data (e.g., ASCII code), other data, asan analog or digital video signal, etc. The generation of suchinformation and/or the signal representing the interface to be displayedmay be performed by the user device and/or by a device of the network.

If the decision at step 302 is that supplemental services are to beincluded in the displayed interface, then the process may move to step303, at which point it may be determined (e.g., by the user device or adevice of the network) whether any supplemental services exist that areappropriate for inclusion in the displayed interface. For example, theremay be no supplemental services at all. Or, while there may besupplemental services, less than all (or even none) of the supplementalservices may be services that are within the displayed portion of theinterface. This determination may change depending upon, for example,which portion of the interface is to be displayed at a particularmoment. For example, if in the example of FIG. 4 , there is asupplemental service that is intended to be displayed in associationwith service number 102 (which is listed in the displayed interface),then it may be appropriate to determine that the associated supplementalservice should also be displayed. However, if there is a supplementalservice that is intended to be displayed in association with anun-displayed service (e.g., service number 112), then in the FIG. 4example, neither service number 112 nor its associated supplementalservice may be listed unless and until service number 112 is included inthe displayed portion of the interface. If, at step 303, it isdetermined that there are no supplemental services to be listed in theinterface at this time, then the process may move to step 307.

If, on the other hand, it is determined at step 303 that one or moresupplemental services are to be listed in the displayed interface, thenthe process may move to step 304. At step 304, the user device and/or adevice of the network may add the one or more determined supplementalservices to the interface that is to be displayed. In generating theinterface to be displayed, the user device and/or the network device maygenerate a display window data set of the services, the times, and/orthe program titles to be included in the portion (window) of theinterface to be displayed. Thus, step 304 may involve adding suchsupplemental service(s) and/or the associate titles for the supplementalservice(s) to the display window data set.

At step 305, the user device and/or a device of the network maydetermine whether there are any other supplemental services that theuser may be interested in installing (and that the user may not havealready installed). For example, if there is a particular proposedservice that is associated with one of the services in the interface tobe displayed (e.g., already in the aforementioned display window dataset), then it may be determined that the associated service should beindicated to the user as being potentially a service of interest to theuser. Thus, the proposed services identified at step 305 may depend uponwhich other services are included in the interface to be displayed.

At step 306, if there are any proposed services that have beenidentified in step 305, then an indication of those proposed servicesmay be added to the interface to be identified (e.g., added to thedisplay window data set). As an example, FIG. 5 shows a message 501indicating that supplemental content (e.g., supplemental services thatmay be installed) is available for a program referred to herein asContent 102-2. As another example, FIG. 6 shows a message 601 indicatingthat supplemental content is available for Content 102-2. In thisexample, the message 601 may be presented at a location that dependsupon the location of the listing of the associated content (in thisexample, Content 102-2) in the interface to be displayed and/or upon thelocation of the service listing of the associated content (in thisexample, service number 102) in the interface to be displayed. In orderto determine whether supplemental content is associated with a serviceor with an item of content, a supplemental content data set may bemaintained and updated by the user device and/or by a device of thenetwork. The supplemental content data set may associate one or moreitems of supplemental content with one or more items of content and/orone or more services. Thus, step 306 may involve referring to thesupplemental content data set to determine whether any of the servicesand/or items of content that are to be included in the displayedinterface are associated with any supplemental content. If so, then oneor more messages for the supplemental content may be added to thedisplay window data set.

For example, as shown in FIG. 6 , the message 601 may be at leastpartially overlaid over the indication of the associated content (inthis example, the message 601 is partially overlaid over the boxrepresenting Content 102-2 and over the cursor 401). In other examples,the message 601 may be at a location that is a predetermined (e.g.,fixed) distance from the indication of the item of content and/or fromthe cursor 401, rather than being overlaid on the indicated item ofcontent and/or on the cursor 401. Also, in this example, the message 601may be selectively displayed whenever the item Content 102-2 is includedin the displayed interface or only in response to the cursor 401highlighting the item Content 102-2. While the examples of FIGS. 5 and 6include messages 501, 601 that only generically indicate thatsupplemental content is available, the messages 501, 601 mayadditionally or alternatively include more detailed information aboutthe supplemental content that is available. As will be described in moredetail below, these messages (e.g., the messages 501 and 601) may beuser-selectable.

After adding any indications in step 306, the process may then move tostep 307, in which the interface as set forth by the display window dataset may be generated for display by a display device (e.g., by thedisplay device 206) as described above.

While the interface is being displayed by the display device at step307, user input for browsing through the interface may be received bythe user device. Examples of such browse user input may include movingthe cursor 401 (e.g., up, down, left or right), paging and/or scrollingthrough the interface, and/or any other type of user input intended tochange which portion of the interface information is to be displayed(e.g., by changing which service listings and/or timeframe are to beincluded in the displayed interface). In response to browse user input,the process may move back to step 301 for re-evaluation as to whatinformation is to be displayed by the interface. When step 307 is onceagain reached, the displayed interface may be refreshed with an updatedversion of the displayed interface as modified in accordance with thebrowse user input. For example, while the interface of FIG. 4 is beingdisplayed, a user input for moving the cursor 401 down may be received.In response to the user input, the process may move to step 301. Whenthe process again arrives at step 307, the updated interface may bedisplayed such as in FIG. 5 , in which the cursor 401 is in the newposition in accordance with the user input. As can also be seen in FIG.5 , moving the cursor 401 down to highlight Content 102-2 may result ina decision at step 306 to add the message 501 associated with thehighlighted Content 102-2.

Other user inputs may also be received by the user device during step307. For example, the user may provide a user input to select aparticular program and/or service indicated by the interface for tuningto, or for recording, or for obtaining further information about theprogram and/or service. Or, the user input may be an input that selectsa particular option or proposal, such as by responding to a proposal fora supplemental service (for instance, by selecting or otherwiseresponding to the message 501 or the message 601). Or, the user inputmay be an input for exiting the interface. Many other user inputs arepossible.

Referring to FIG. 3B, if a user input is received during the displayingof the interface, then at step 308, the user device and/or a device ofthe network may determine the nature or type of the user input. If theuser input is determined to be a user input for initiating (e.g., tuningto, opening, or executing) a particular service (e.g., by highlighting acurrent program of that service using the cursor 401 and then making aselection of that program), then the process may move to step 309, andthe selected service may be initiated by the user device, and/or byanother device such as to provide a second screen experience. Or, if theuser input is determined to be a request to exit the interface, then theinterface may no longer be displayed.

If the user input is determined to be a selection in response to aproposal for adding a listing of an indicated supplemental service tothe interface, then the process may move to step 311. At step 311, theuser device and/or a device of the network may determine, generate,and/or cause to be displayed a user interface through which the user mayinstall one or more supplemental services to the device. An example ofsuch a user interface is shown in FIGS. 14 and 15 , which will bedescribed in more detail below. If the user installs one or moresupplemental services as determined at step 312, then those supplementalservice(s) are added, and the process may return to step 301 forre-evaluation as to how the interface is to be displayed. A supplementalservice data set may be established and updated by the user deviceand/or a device of the network that identifies the services that havebeen installed for each user and/or for each device. Thus, when a useradds a supplemental service, the supplemental service may be added tothe supplemental service data set associated with the user.

Further examples of various interface features are described below. Asshown in FIG. 4 , the interface may be displayed with the cursor 401highlighting a particular item of content, in this case Content 101-2.While the cursor 401 is shown in this example as a thick linesurrounding the indicated item of content, the cursor 401 may take anyform, such as but not limited to a colored highlight or background, achange in font size and/or format, a three-dimensional (e.g., shadowbox) effect, an animation, etc. In response to a user input to move thecursor 401 down, the interface may be refreshed to be as shown in FIG. 5or FIG. 6 . In these examples, the cursor 401 is now highlighting anitem of content of the service on the next row downward, which in thiscase is Content 102-2. Also, in response to the user input moving thecursor 401 down, at step 306 it is determined that there is at least oneitem of supplemental content associated with Content 102-2. As describedpreviously, this may be determined by, for instance, comparing thehighlighted item of content with the supplemental content data set todetermine whether any of the items of content and/or services listed inthe display window data set are associated with any supplementalcontent. If so, then one or more messages (e.g., the message 501 or themessage 601) may be added to the display window data set for inclusionin the refreshed interface that is displayed at step 307. If the cursor401 is then moved to select (e.g., highlight) an item of content that isnot associated with any supplemental content, then the message 501 or601 may not be displayed. Or, if the cursor is moved to an item ofcontent (e.g., Content 102-1) having associated supplemental content (asin FIG. 7 or 8 ), then another message (e.g., the message 701 or themessage 801) may be displayed indicating that supplemental content isavailable for the currently-selected item of content.

In further examples, a stored and/or predetermined user profile mayindicate what types of supplemental content are of interest to the user,and the decision as to whether to display such message (e.g., themessage 501 or 601) may further depend on the content of the userprofile. For instance, the message 501 or 601 may only be displayed ifthe cursor 401 is selecting an item of content that has supplementalcontent that is indicated by the user profile as being a type ofsupplemental content of interest to the user. The user profile may beuser-defined and/or otherwise determined based on, for example,historical selections of items of content and/or items of supplementalcontent.

FIG. 9 shows another example of how supplemental content may beindicated to a user. In this example, Content 102-1 is being highlightedby the cursor 401, and particular items of supplemental content areindicated by messages 901-A, 901-B, and 901-C. While three items ofsupplemental content are indicated in this example, there may be feweror greater items of supplemental content. The screen of FIG. 9 may bedisplayed responsive to the cursor moving to highlight Content 102-1, orit may be displayed responsive to the user selecting or otherwiseresponding to the message 701 or the message 801. In either case, theuser may be able to select one of the indicated messages 901 to indicateinterest in the supplemental content.

In the present example, assume that the user selects “Behind the scenes”message 901-A. In response, the interface may appear as shown, forexample, in FIG. 10 , in which an additional service number 102A may bepresented to the user. Service number 102A may be a supplementalinformation service that provides supplemental content associated withthe selected “Behind the scenes” message 901-A. Assuming that the userfurther selects the “Website” message 901-C, then the interface mayappear as shown, for example, in FIG. 11 to also list anothersupplemental service such as supplemental service number 102B.

The user may tune to, record, and/or navigate the cursor 401 to anyitems of content in supplemental service number(s) 102A and/or 102B,just as the user might do for any of the other services. Moreover, thesupplemental services may be displayed at locations in the interfacethat are context-dependent. For example, because supplemental servicenumber 102A is associated with Content 102-1, supplemental servicenumber 102A may be presented in the interface at a position that dependsupon the position of associated Content 102-1 and/or depends upon theposition of the listing for service number 102 (the service thatcontains Content 102-1). Likewise, because supplemental service number102B is associated with Content 102-1, supplemental service number 102Bmay also be listed in the interface at a position that depends upon theposition of associated Content 102-1 and/or depends upon the position ofthe listing for service number 102 (the service that contains Content102-1). For example, the listing(s) for supplemental service numbers102A and/or 102B may be positioned in a row of the interface between thelisting for service number 102 and the listing for another service,and/or directly adjacent to the listing for service number 102 (e.g.,directly above or directly below). While the numbering of supplementalservice numbers 102A and 102B in this example implies a relationshipbetween service number 102 (or the content therein) and supplementalservice numbers 102A and 102B, supplemental service numbers 102A and102B need not be identified (e.g., numbered) in such a manner, and maybe identified in any manner desired.

Moreover, supplemental services may or may not be listed in thedisplayed interface depending upon the context, e.g., depending uponwhat else is included in the displayed portion of the interface. Forexample, supplemental service numbers 102A and 102B may or may not beincluded in the displayed interface depending upon whether theassociated content and/or the associated service is also included in thedisplayed interface. For example, supplemental service numbers 102Aand/or 102B may only be listed in the displayed interface if associatedservice number 102 is also listed in the displayed interface. Once theuser scrolls or otherwise reconfigures the interface such that thelisting for service number 102 is no longer displayed, service numbers102A and 102B may also no longer be listed in the interface. Or,supplemental service numbers 102A and 102B may continue to be displayeduntil the user also scrolls away from the rows containing thosesupplemental services. As another example, supplemental service numbers102A and/or 102B may only be included in the displayed interface if theassociated item of content (Content 102-1) is also included in thedisplayed interface. Thus, for instance, if the user scrolls in timesuch that Content 102-1 is no longer displayed in the interface (eventhough the listing for service number 102 may continue to be displayedin the interface), then supplemental service numbers 102A and/or 102Bmay no longer be included in the displayed interface. As yet anotherexample, the listings for supplemental service numbers 102A and/or 102Bmay only be included in the displayed interface while the listing forassociated service number 102 and/or the associated item of content(Content 102-1) is being highlighted or otherwise selected, such as bythe cursor 401. If the cursor 401 is moved away from the listing forservice number 102 and/or for Content 102-1, then the listings forsupplemental service numbers 102A and/or 102B may no longer be includedin the displayed interface.

Since a supplemental service may be associated with one or moreparticular items of content (instead of or in addition to beingassociated with another service), the supplemental service may displayone or more items of supplemental content therein that may depend uponwhether the associated item of content is being highlighted or otherwiseselected by the cursor 401 and/or that currently appears in theinterface being displayed. Thus, in addition to the displaying oflistings of supplemental services being context-sensitive, thedescription of listings of content items in supplemental services mayalso be context-sensitive. For example, assume that supplemental servicenumber 102A is associated with content 102-1, that supplemental servicenumber 102B is associated with service number 102, and that the usermoves the cursor 401 from Content 102-1 as in FIG. 11 to Content 102-2as in FIG. 12 . In this example, supplemental service number 102A(associated with content 102-1) may disappear from the displayedinterface because Content 102-1 is no longer selected. Moreover, thelisting for supplemental service number 102B (associated with s 102) mayremain, and the content described for supplemental service number 102Bmay change to reflect the fact that Content 102-2 is currently selected.In this example, when Content 102-1 was selected, then supplementalservice number 102B has content described as “Select to Browse Websitefor Content 102-1.” If the user has selected (e.g., tuned to) servicenumber 102B at that point (such as by moving the cursor 401 down toservice number 102B and pressing a select button on the remote control),then the user may have been directed via a web browser to the websitefor Content 102-1. Now, once the cursor 401 has been moved to selectContent 102-2, supplemental the listing for service number 102B includesa listing of content described as “Select to Browse Website for Content102-2.” If the user has selected (e.g., tuned to) service number 102B atthat point (such as by moving the cursor 401 down to service number 102Band pressing a select button on the remote control), then the user mayhave been directed via a web browser to the website for Content 102-2.

As shown in FIG. 13 , if the cursor 401 is again moved to now selectContent 102-3, then in this example, no supplemental services areincluded in the displayed interface, because no supplemental servicesare associated with Content 102-3. Also, in this example, there may beno website for Content 102-3, and so supplemental service number 102Bmay no longer be included in the displayed interface.

At steps 311 and 312 of the flow chart of FIG. 3B, selecting a proposedsupplemental service indication (e.g., indications 501, 601, 701, 801,901-A, 901-B, or 901-C) may result in a supplemental service selectionuser interface being presented (e.g., displayed). An example of such aresulting user interface is shown in FIG. 14 . In this example, the userinterface may include a window 1401 indicating the content beingpresented in a currently-tuned to service (if at all), a search inputbox 1402, and a set of search results 1403. The search results 1403 mayautomatically include results related to the service and/or contentpreviously highlighted (e.g., in FIG. 13 , service number 102 and/orContent 102-3). The user may also manually enter a search, if desired,in search input box 1402. In this example, three search results aregenerically shown. The search results may include suggested supplementalservices and/or other items. The search results may be displayed in anyformat and may include a name and/or description of each search result.The user may indicate which supplemental service is desired to be added,such as, in this example, by selecting/deselecting a check box next tothe appropriate search results. Once the desired search results(supplemental services, in this example) are selected, the user mayselect a go button 1404 or provide some other indication that theselection is ready to be submitted.

As shown in the example of FIG. 15 , once the user has submitted theselection of search results, the user interface may verify theselection. In this example, the user has selected the first and thirdsupplemental services. The user interface may also provide informationabout the selected supplemental services. For example, the userinterface in the example of FIG. 15 indicates to the user that theselected supplemental services will have access to the user's locationinformation (e.g., the location of one or more of the user's devices)and the user's favorites information (which may be stored in apredetermined user profile). In addition, the example user interface mayidentify to the user which supplemental services have been selected (inthis example, Interviews and Behind the Scenes supplemental services),what service numbers are to be assigned to each supplemental service (inthis example, the default is service numbers 554A and 554B, which may bechanged by the user if desired), and an indication of what multimediaexperiences will be installed by the supplemental services (in thisexample, interview photos and behind-the-scenes videos). If the userapproves, then the user may select a go button 1501 or provide someother indication of approval. Otherwise, the user may select a backbutton 1502 or provide some other indication of a desire to edit theuser's selection.

Upon selection of the go button 1501, the process of FIGS. 3A and 3B mayreturn to step 301, and as a result the display may return to theinterface, such as shown in FIG. 16 . As can now be seen, the interfacemay include the newly-added supplemental service numbers 554A and 554B.The interface may continue to operate such as in the manner describedabove with reference to the preceding figures.

The various features described above are merely non-limiting examples,and can be rearranged, combined, subdivided, omitted, and/or altered inany desired manner. For example, features of the servers can besubdivided among multiple processors and computing devices. The truescope of this patent should only be defined by the claims that follow.

1. A method comprising: generating, by a computing device, a userinterface indicating a plurality of content services, wherein each ofthe plurality of content services is associated with a different contentstreaming application; determining, based on a user selection associatedwith a first content service of the plurality of content services, acontent streaming application associated with the first content service;and causing the content streaming application, associated with the firstcontent service, to present streamed content.
 2. The method of claim 1,wherein the first content service comprises an on-demand contentservice.
 3. The method of claim 1, further comprising: based on the userselection associated with the first content service, causing the contentstreaming application associated with the first content service to beinstalled to the computing device.
 4. The method of claim 1, wherein theuser selection associated with the first content service comprises auser selection of an item of content associated with the first contentservice.
 5. The method of claim 1, wherein the user interface comprises,for each of the plurality of content services, one or more of a symbolicdesignator, a graphical designator, or a name.
 6. The method of claim 1,wherein the user interface comprises a name for each of the plurality ofcontent services.
 7. The method of claim 1, wherein the plurality ofcontent services comprises an on-demand content service and a scheduledcontent service.
 8. An apparatus comprising: one or more processors; andmemory storing instructions that, when executed by the one or moreprocessors, cause the apparatus to perform: generating a user interfaceindicating a plurality of content services, wherein each of theplurality of content services is associated with a different contentstreaming application; determining, based on a user selection associatedwith a first content service of the plurality of content services, acontent streaming application associated with the first content service;and causing the content streaming application, associated with the firstcontent service, to present streamed content.
 9. The apparatus of claim8, wherein the first content service comprises an on-demand contentservice.
 10. The apparatus of claim 8, wherein the instructions, whenexecuted by the one or more processors, further cause the apparatus toperform: based on the user selection associated with the first contentservice, causing the content streaming application associated with thefirst content service to be installed to the apparatus.
 11. Theapparatus of claim 8, wherein the user selection associated with thefirst content service comprises a user selection of an item of contentassociated with the first content service.
 12. The apparatus of claim 8,wherein the user interface comprises, for each of the plurality ofcontent services, one or more of a symbolic designator, a graphicaldesignator, or a name.
 13. The apparatus of claim 8, wherein the userinterface comprises a name for each of the plurality of contentservices.
 14. The apparatus of claim 8, wherein the plurality of contentservices comprises an on-demand content service and a scheduled contentservice.
 15. A non-transitory computer-readable medium storinginstructions that, when executed, configure a computing device toperform: generating a user interface indicating a plurality of contentservices, wherein each of the plurality of content services isassociated with a different content streaming application; determining,based on a user selection associated with a first content service of theplurality of content services, a content streaming applicationassociated with the first content service; and causing the contentstreaming application, associated with the first content service, topresent streamed content.
 16. The non-transitory computer-readablemedium of claim 15, wherein the first content service comprises anon-demand content service.
 17. The non-transitory computer-readablemedium of claim 15, wherein the instructions, when executed, furtherconfigure the computing device to perform: based on the user selectionassociated with the first content service, causing the content streamingapplication associated with the first content service to be installed tothe computing device.
 18. The non-transitory computer-readable medium ofclaim 15, wherein the user selection associated with the first contentservice comprises a user selection of an item of content associated withthe first content service.
 19. The non-transitory computer-readablemedium of claim 15, wherein the user interface comprises, for each ofthe plurality of content services, one or more of a symbolic designator,a graphical designator, or a name.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the user interfacecomprises a name for each of the plurality of content services.
 21. Thenon-transitory computer-readable medium of claim 15, wherein theplurality of content services comprises an on-demand content service anda scheduled content service.